package com.rental.houses.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rental.common.result.AjaxResult;
import com.rental.model.entity.house.RequiredHouse;
import com.rental.model.form.house.RequiredHouseForm;
import com.rental.model.form.house.RequiredHousePage;
import com.rental.model.form.house.RequiredReportForm;
import com.rental.model.vo.house.RequiredHouseVo;

import java.util.List;

public interface RequiredHouseService extends IService<RequiredHouse> {
    Boolean addRequiredHouse(RequiredHouseForm requiredHouseForm);



    RequiredHouseVo getRequiredHouseDetail(Long id);

    List<RequiredHouse> getRequiredHouseListByUid(Long uid);
    Boolean deleteRequiredHouse(Long id);

    Boolean updateRequiredHouse(RequiredHouseForm requiredHouseForm);

    RequiredHouseVo getRequiredHouseById(Long id, Long userId);

    Boolean reportRequiredHouse(RequiredReportForm requiredReportForm);

    Boolean collect(Long rid, Long uid);

    Boolean cancelCollect(Long rid, Long uid);




    AjaxResult<Page<RequiredHousePage>> getRequiredHouseList(Long current, Long size, RequiredHouseForm requiredHouseForm);
}

